#!user/bin/env python3
# -- coding: utf-8 --
# @Createtime：2023/8/29 16:20
# @Updatetime：16:20
# @Author：Test008
# @File：12-文件上传
# @Description：
import time
# 需要先安装  pip install pywin32
import win32com.client
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys

driver = webdriver.Chrome()
driver.get('https://tinypng.com/')  # 打开一个懒加载的页面
# driver.get('http://sahitest.com/demo/php/fileUpload.htm')  # 打开一个懒加载的页面
driver.maximize_window()
driver.implicitly_wait(3)

# 1》input 标签实现的文件上传，
# 直接 send_keys 本地文件路径即可
# ele = driver.find_element(By.CSS_SELECTOR, '#file')
# ele.send_keys(r'C:\Users\EDY\PycharmProjects\Appium_test\static\img\screen.png')
# print(ele.get_attribute('value'))


# 2》非input类型上传
# Python pywin32库，识别对话框句柄，进而操作
driver.find_element(By.CSS_SELECTOR,'.icon').click()
time.sleep(5)
sh=win32com.client.Dispatch('WScript.shell')
sh.Sendkeys(r'C:\Users\EDY\PycharmProjects\Appium_test\static\img\screen.png')
sh.Sendkeys('\n\n')
# 漫无目的的敲击键盘，不能处理中文，文件路径中不建议有中文
# 输入法要保持英文状态
# 文件的路径，尽量短一些，不要包含转义，纯英文组成
